package com.guomao.dao;


import com.guomao.entity.Order;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

@Repository
public class OrderDao {


    private static Map<Integer, Order> map = null;

    private static Integer initid = 106;

    static {
        map = new HashMap<>();

        Order order1 = new Order(101, "家居百货", "2025年9月18日", 200, 1);
        Order order2 = new Order(102, "手机数码", "2025年9月18日", 200, 1);
        Order order3 = new Order(103, "电脑外设", "2025年9月18日", 200, 1);
        Order order4 = new Order(104, "母婴用品", "2025年9月18日", 200, 1);
        Order order5 = new Order(105, "汽车用品", "2025年9月18日", 200, 1);

        map.put(order1.getId(), order1);
        map.put(order2.getId(), order2);
        map.put(order3.getId(), order3);
        map.put(order4.getId(), order4);
        map.put(order5.getId(), order5);
    }

    /**
     * 新增更新二合一的方法
     *
     * @param order 如果id为空 是新增
     *              如果id不为null 是更新
     */
    public void save(Order order) {
        if (order.getId() == null) {
            order.setId(initid++);
        }
        map.put(order.getId(), order);
    }

    /**
     * 查询所有订单对象
     *
     * @return
     */
    public Collection<Order> getAll() {
        return map.values();
    }

    /**
     * 查询指定id的订单对象
     *
     * @param id
     * @return
     */
    public Order getById(Integer id) {
        return map.get(id);
    }

    /**
     * 根据id移除map的键值对
     *
     * @param id
     */
    public void deleteById(Integer id) {
        map.remove(id);
    }
}
